package com.idp.system.service;

import com.idp.common.model.LoginInfo;
import com.idp.system.dto.SysButtonDto;
import com.idp.system.dto.SysUserDto;

import java.util.List;
import java.util.Map;

/**
 * 登录Service接口
 * @author king
 */
public interface LoginService {

	/**
	 * 登录
	 * @param sysUserDto
	 * @return
	 */
	LoginInfo login(SysUserDto sysUserDto);

	/**
	 * 获取登录用户的权限菜单
	 * @param userId
	 * @return
	 */
	Map<String, Object> getLoginRuleMenus(String userId);

	/**
	 * 获取登录用户的权限按钮
	 * @param userId
	 * @return
	 */
	List<SysButtonDto> getLoginRuleButtons(String userId);

	/**
	 * 清空菜单权限缓存
	 * @param userId
	 */
	void deleteRuleMenusCache(String userId);

	/**
	 * 清空按钮权限缓存
	 * @param userId
	 */
	void deleteRuleButtonsCache(String userId);

}
